package org.springframework.beans.factory.annotation;

import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.core.type.AnnotationMetadata;
import org.springframework.core.type.MethodMetadata;
import org.springframework.lang.Nullable;

/**
 * 这个接口扩展了BeanDefinition，可以获得bean definition中的bean class上的注解元数据。
 * 举个例子，假设我们用@controller标注了某个类，那这里就能获取到@controller这个注解里面的信息
 */
public interface AnnotatedBeanDefinition extends BeanDefinition {

	AnnotationMetadata getMetadata();

	@Nullable
	MethodMetadata getFactoryMethodMetadata();
}
